10. DO : Lab - Create a Swarm
Introduction
Now that you have had the opportunity to explore swarms in robotics in several different scenarios and scales, it is time for you to build your own "robot" swarm. Of course, you are not expected to build a fleet of robots due to costs, but you can get creative and build a swarm using household items as well!
What to build
The goal of this project is to build swarm-like behaviors however you like! Perhaps you are interested in building a swarm that attaches itself to a food source. Maybe you are interested in building a swarm that self-organizes into different types of formations (lines, circles, squares, etc.). The choice is up to you; so get creative.
How to build
How you choose to build your swarm is entirely up to you, but be creative.
Some ideas for building materials of physical swarms:
If you want to make something electronic, items like Raspberry Pis, Beaglebones, and Arduinos are good starting points but may be a bit pricey. Also look for similar products that may be cheaper (i.e. derivatives of these types of products). You will likely need a method for these agents to communicate, for this, you may want to investigate wifi, bluetooth, RFID and other methods. If you need to program them, there is a language called BUZZ that may be interesting to you.
If you want to make a swarm out of more common materials, items like beans, rice, pasta, marbles, etc. may be good choices. For the actuation, you could put them in a large box and shake or apply an external force to move them around a bit. Remember, you do not want to connect the objects directly, but rather have a "natural" assembly take place. You could also try a small amount of fluid on top of a speaker and seeing how it self organizes.
Some ideas for building simulated swarms:
If you are interested in creating computer simulations of swarms, there are a variety of simulators you can try. Below is a list of some common simulators used for modeling swarms:
- ARGOS
- Roborobo
- StarLogo and SWARM
- DDLab
- Or create your own using any programming language and/or tools you like!